package com.example.shoppingmall.dao;

import com.example.shoppingmall.pojo.User;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserMapper {
    User loadUserByUsername(String username);

    /**
     * 分页查询用户列表
     * @param userPhone 手机
     * @param username 用户名
     * @param inviterPhone 推荐人电话
     * @param no 当前页面
     * @return
     */
    public List<User> getAll(@Param("userPhone")String userPhone,
                             @Param("username")String username,
                             @Param("inviterPhone")String inviterPhone, @Param("no")int no);

    /**
     * 得到记录总数
     * @return
     */
    public int userCount(@Param("userPhone")String userPhone,
                         @Param("username")String username,
                         @Param("inviterPhone")String inviterPhone);

    /**
     * 新增
     * @param user
     * @return
     */
    public int add(User user);

    /**
     * 详情
     * @param id
     * @return
     */
    public User xiangqing(@Param("id")int id);

    /**
     * 修改(上传)
     * @param user
     * @return
     */
    public int update(User user);

    /**
     * 修改(无上传)
     * @param user
     * @return
     */
    public int update1(User user);

    /**
     * 余额修改
     * @param user
     * @return
     */
    public int updateUserBalance(User user);

    /**
     * 积分修改
     * @param user
     * @return
     */
    public int updateUserIntegral(User user);

    /**
     * 修改联系人
     * @param user
     * @return
     */
    public int updateInviterPhone(User user);

    /**
     * 删除
     * @param id
     * @return
     */
    public int delete(@Param("id")int id);

    /**
     * 判断手机号码是否存在
     * @param userPhone
     * @return
     */
    public User checkUserPhone(@Param("userPhone")String userPhone);

    /**
     * 判断userAccount是否存在
     * @param userAccount
     * @return
     */
    public int chackUserAccount(@Param("userAccount")String userAccount);

    //根据用户名查询对比的图片
    public User getuserimg(String userAccount);
}

